package com.fh.modules.file.controller;

import com.fh.common.api.vo.Result;
import com.fh.modules.file.vo.FileVo;
import com.fh.modules.file.vo.MultiFileVo;
import com.fh.modules.file.vo.SingleFileVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

/**
 * @Author qiujunda
 * @Date 03/09/2020
 * @Description 图片管理
 * 1、图片上传，仅支持图片格式和类型图片上传，如jpg，png，gif等
 * 2、图片上传大小限制，10M
 * 3、图片上传存储类型 fh.file.upload.type=local 或者 remote 。如果是remote则需要通过上传到远程机器目录下，上传采用本地临时目录暂存，异步延迟上传
 * 4、图片存储地址采用yyyy/mm/dd 年/月/日 三层目录结构存储
 * 5、图片存储服务器采用集群模式则
 * 6、需要配置fh.file.upload.visit.address.prefix访问url前缀来进行图片的visit
 */
@RestController
@Api("图片上传")
public class PictureController {


    /**
     * @author qiujunda
     * @description 单个图片上传
     * @date 03/09/2020 22:20
     * @return com.fh.common.api.vo.Result
     */
    @ApiOperation("单个图片上传接口")
    @RequestMapping(value = "/file/pic/single/upload", method = RequestMethod.POST,consumes="multipart/*" ,headers="content-type=multipart/form-data")
    public Result uploadSingle(FileVo fileVo, MultipartFile file){
        //TODO
        System.out.println(fileVo.getTag());
        return Result.ok("上传成功");
    }

    /**
     * @author qiujunda
     * @description 多图片上传
     * @date 03/09/2020 22:21
     * @return com.fh.common.api.vo.Result
     */
    @ApiOperation("多图片上传接口")
    @PostMapping(value = "/file/pic/multi/upload", consumes="multipart/*" ,headers="content-type=multipart/form-data")
    public Result uploadMulti(FileVo fileVo, MultipartFile[] file){
        //TODO
        System.out.println(fileVo.getTag());
        return Result.ok("上传成功");
    }
}
